#pragma once

#include <boost/optional.hpp>

namespace rc {
namespace gen {
namespace boost {

/// Generates a `boost::optional` of values generated by the given generator.
template <typename T>
Gen<::boost::optional<T>> optional(Gen<T> gen);

} // namespace boost
} // namespace gen
} // namespace rc

#include "Optional.hpp"
